<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  // const reg = / 表达式 / 修饰符
  // const reg = /^a/; ^代表以a开头
  // const reg = /c$/; $代表以c结尾
  // const reg = /^abj*c$/; *代表大于等于0
  // const reg = /^abj+c$/; +代表大于等于1
  // const reg = /^abj?c$/; ?代表 0 或 1
  // const reg = /^abj{2,5}c$/; {2,5} 代表大于等于2,小于等于5
  // const reg = /^ab\*\^c$/ \代表转义符，将元字符转义为字面的字符进行匹配
  // const reg = /^ab[asdf]c$/; []代表匹配其中的某一个字符
  // const reg = /^ab[^asdf]c$/; [^]代表匹配不能出现的字符
  // const reg = /^[1-9]/; [0-9a-zA-Z]代表匹配0-9 a-z A-z范围字符 
  // const reg = /^1[3-9]\d{9}/; 电话号码
  // const reg = /^a\D{2}\d$/; \d表示数字 \D代表非数字
  // const reg = /^a\wc$/; \w代表任意大小写字母,数字和下划线
  // const reg = /asd|dsa$/; 匹配竖线两边的字符串
  // const reg = /d(s)(a)\2h\1/; ()表示分组，并且从左至右获得一个组号，用 \数字 代表需要出现的组号
  // const reg = /\w(?=asd)/; x(?=y) 匹配后面紧跟 y 的字符串
  // const reg = /\w/gi; g全局查找 i忽略大小写

  // const reg = /(^[A-Z])/;

  // const reg = /^((?:(?:[0-9])|(?:[1-9]\d)|(?:1\d\d)|(?:2[0-4]\d)|(?:25[0-5]))\.){3}(?:(?:[0-9])|(?:[1-9]\d)|(?:1\d\d)|(?:2[0-4]\d)|(?:25[0-5]))$/;

  // const str = '254.222.255.66';

  // const reg = 

  const str = 'asd5623fasd';

  const res = str.replace(/(asd)(\d{4})/g, '<$2><$1>') // replace 第二个参数替换第一个参数

  // const res = reg.test(str) // 判断是否符合规则

  // const res2 = str.match(reg) // 获取符合规则的字符并输出

  console.log('res', res)


</script>

</html>